package com.kandinfo.survey.common.mongo;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import org.mongodb.morphia.annotations.Entity;
import org.mongodb.morphia.annotations.Id;
import org.mongodb.morphia.annotations.Transient;


/**
 * Description : 题目dto
 * 
 * @author Patrick-chenziping-TG
 * @version 1.0
 */
@Entity(value = "question", noClassnameStored = false)
public class QcQuestionDto implements Serializable {

    private static final long serialVersionUID = 1L;
    @Id
    private Long id;

    private Long createBy;
    private Date createTs;
    private Long updateBy;
    private Date updateTs;

    // 题目名称
    private String name;
    // 题干
    private String title;
    // 题目主题
    private String body;
    // 对象类型: 0病人 1家属
    private Integer destType;
    // 调查类型 0大脑好用度，1进食，2药物使用情况，3运动，4总体状态
    private Integer investigateType;
    // 0选择，1填空
    private Integer answerType;
    // 0客观，1主观 只有选择题才能客观
    private Integer analyzeType;
    // 逻辑删除：0 正常使用：1
    private String status;
    // 选项
    private List<QcJsonOption> options;

    @Transient
    private List<QcTagDto> tags; // 相关标签 待用

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getCreateBy() {
        return createBy;
    }

    public void setCreateBy(Long createBy) {
        this.createBy = createBy;
    }

    public Date getCreateTs() {
        return createTs;
    }

    public void setCreateTs(Date createTs) {
        this.createTs = createTs;
    }

    public Long getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(Long updateBy) {
        this.updateBy = updateBy;
    }

    public Date getUpdateTs() {
        return updateTs;
    }

    public void setUpdateTs(Date updateTs) {
        this.updateTs = updateTs;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getBody() {
        return body;
    }

    public void setBody(String body) {
        this.body = body;
    }

    public Integer getDestType() {
        return destType;
    }

    public void setDestType(Integer destType) {
        this.destType = destType;
    }

    public Integer getInvestigateType() {
        return investigateType;
    }

    public void setInvestigateType(Integer investigateType) {
        this.investigateType = investigateType;
    }

    public Integer getAnswerType() {
        return answerType;
    }

    public void setAnswerType(Integer answerType) {
        this.answerType = answerType;
    }

    public Integer getAnalyzeType() {
        return analyzeType;
    }

    public void setAnalyzeType(Integer analyzeType) {
        this.analyzeType = analyzeType;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public List<QcJsonOption> getOptions() {
        return options;
    }

    public void setOptions(List<QcJsonOption> options) {
        this.options = options;
    }

    public List<QcTagDto> getTags() {
        return tags;
    }

    public void setTags(List<QcTagDto> tags) {
        this.tags = tags;
    }

}
